package com.lizixin.pojo;

import java.io.Serializable;

/**
 * Created by 下 on 2017/6/15.
 */
public class Page implements Serializable {
    private static final long serialVersionUID = -3198048449643774660L;
    private int pageNow=1;      //当前页

    private int pageSize=3;        //每页显示的记录

    private int totalCount;     //总记录数

    private int totalPageCount;     //总共页数

    @SuppressWarnings("unused")
    private int startPos;       //开始位置，从0开始

    @SuppressWarnings("unused")
    private boolean hasFirst;       //是否有首页

    @SuppressWarnings("unused")
    private boolean hasPre;     //是否有上一页

    @SuppressWarnings("unused")
    private boolean hasNext;        //是否有下一页

    @SuppressWarnings("unused")
    private boolean hasLast;        //是否有尾页

//    传入总记录数和当前页

    public Page(int pageNow, int totalCount) {
        this.pageNow = pageNow;
        this.totalCount = totalCount;
    }

    public int getPageNow() {
        return pageNow;
    }

    public void setPageNow(int pageNow) {
        this.pageNow = pageNow;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }

//    取得总页数，总页数=总记录数/每页记录
    public int getTotalPageCount() {
        totalPageCount=getTotalCount()/getPageSize();

        return (totalCount%pageSize==0) ? totalPageCount : totalPageCount+1;
    }

    public void setTotalPageCount(int totalPageCount) {
        this.totalPageCount = totalPageCount;
    }


//    取得选择记录的初始位置
    public int getStartPos() {
        return (pageNow-1)*pageSize;
    }

    public void setStartPos(int startPos) {
        this.startPos = startPos;
    }

    public boolean isHasFirst() {
        return (pageNow==1) ? true : false;
    }

    public void setHasFirst(boolean hasFirst) {
        this.hasFirst = hasFirst;
    }


    public boolean isHasPre() {
//      如果有首页就有前一页，因为有首页就不是第一页
        return isHasFirst() ? true : false;
    }

    public void setHasPre(boolean hasPre) {
        this.hasPre = hasPre;
    }

    public boolean isHasNext() {
//        如果有尾页就有下一页，因为有尾页表明不是最后一页
        return isHasLast() ? true :false;
    }

    public void setHasNext(boolean hasNext) {
        this.hasNext = hasNext;
    }

    public boolean isHasLast() {
        return (pageNow == getTotalPageCount()) ? false : true;
    }

    public void setHasLast(boolean hasLast) {
        this.hasLast = hasLast;
    }
}
